home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
001-025
/
disk_014
/
amiga3d
/
threed.h
< prev
Wrap
C/C++ Source or Header
|
1992-05-06
|
2KB
|
111 lines
#define UP 0
#define DOWN 1
#define OFF 0
#define ON 1
#define LEFT 32
#define NTSC_TOP 4
#define PAL_TOP 0
#define WIDTH 256
#define NTSC_HEIGHT 192
#define PAL_HEIGHT 256
#define TMPWIDTH 512
#define TMPHEIGHT 512
#define NTSC_MAXHINOLACE 200
#define PAL_MAXHINOLACE 256
#define NTSC_MAXHILACE 400
#define PAL_MAXHILACE 512
#define N_BIT_PLANES 3
#define MAXNUMCOLORS 32
#define MAXNUMARGS 16
#define SINA 0x0400
#define COSA 0x3FE0
#define SINB 0x0100
#define COSB 0x3FFE
#define NULLPROC 0
#define ADDVECT 1
#define SUBVECT 2
#define ROLL 3
#define PITCH 4
#define YAW 5
#define TRANSPOSE 6
struct UV
{
WORD uv11;
WORD uv12;
WORD uv13;
WORD uv21;
WORD uv22;
WORD uv23;
WORD uv31;
WORD uv32;
WORD uv33;
};
struct Coordinate
{
WORD x;
WORD y;
WORD z;
};
struct Polygon
{
WORD vertexcount;
struct Coordinate *(*vertexstart)[];
struct Coordinate *normalvector;
WORD polycolor;
};
struct Object
{
struct Object *nextobject;
struct Object *subobject;
struct UV *umatrix;
struct Coordinate *position;
WORD pointcount;
struct Coordinate *(*pointstart)[];
WORD normalcount;
struct Coordinate *(*normalstart)[];
WORD polycount;
struct Polygon *(*polystart)[];
APTR procedure;
};
struct Objectinfo {
struct Objectinfo *nextobjectinfo;
struct Objectinfo *subobjectinfo;
struct UV *objectmatrix;
struct Coordinate *objectposition;
WORD objectnumpoints;
struct Coordinate **objectpoints;
WORD objectnumnormals;
struct Coordinate **objectnormals;
WORD objectnumpolys;
struct Polygon **objectpolys;
struct UV *displaymatrix;
struct Coordinate *displayposition;
WORD objectbufpointsize;
struct Coordinate *objectbufpoints;
WORD objectbufnormalsize;
struct Coordinate *objectbufnormals;
WORD pptrbufsize;
struct Coordinate *pptrbuf;
WORD nptrbufsize;
struct Coordinate *nptrbuf;
WORD colorbufsize;
struct WORD *colorbuf;
APTR objectprocedure;
};